\documentclass[UTF8]{ctexart}
\usepackage{geometry, CJKutf8}
\geometry{margin=1.5cm, vmargin={0pt,1cm}}
\setlength{\topmargin}{-1cm}
\setlength{\paperheight}{29.7cm}
\setlength{\textheight}{25.3cm}

% useful packages.
\usepackage{amsfonts}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{enumerate}
\usepackage{graphicx}
\usepackage{multicol}
\usepackage{fancyhdr}
\usepackage{layout}
\usepackage{listings}
\usepackage{float, caption}

\lstset{
    basicstyle=\ttfamily, basewidth=0.5em
}

% some common command
\newcommand{\dif}{\mathrm{d}}
\newcommand{\avg}[1]{\left\langle #1 \right\rangle}
\newcommand{\difFrac}[2]{\frac{\dif #1}{\dif #2}}
\newcommand{\pdfFrac}[2]{\frac{\partial #1}{\partial #2}}
\newcommand{\OFL}{\mathrm{OFL}}
\newcommand{\UFL}{\mathrm{UFL}}
\newcommand{\fl}{\mathrm{fl}}
\newcommand{\op}{\odot}
\newcommand{\Eabs}{E_{\mathrm{abs}}}
\newcommand{\Erel}{E_{\mathrm{rel}}}

\begin{document}

\pagestyle{fancy}
\fancyhead{}
\lhead{聂宇潇, 3220101556}
\chead{数据结构与算法第七次作业}
\rhead{2024/12/2}

\section{设计思路}

采用堆排序算法，将无序序列构造成一个堆，然后再从堆中逐个取出元素形成有序序列。

\section{测试流程}

分别用随机序列、有序序列、逆序序列和部分元素重复的序列来进行排序。
并通过checkSorted函数来检查排序是否正确。

\section{测试结果}

\begin{tabular}{|c|c|c|}
\hline
       &  my heapsort time  &  std::sort\_heap time \\ \hline
    Random time  &  123.429ms  &  50.773ms \\ \hline
    Ordered time  & 64.586ms  &  32.737ms \\ \hline
    Reversed time  &  82.215ms  &  33.673ms \\ \hline
    Repetitive time  &  105.805ms  &  23.639ms \\ \hline

\end{tabular}

\end{document}

%%% Local Variables: 
%%% mode: latex
%%% TeX-master: t
%%% End: 
